#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>

int main()
{
  int fd = open("log.txt", O_RDONLY);

  dup2(fd, 0);

  char buffer[2048];
  size_t s = read(0, buffer, sizeof(buffer));
  if(s > 0)
  {
    buffer[s] = 0;
    printf("stdin redir:\n%s\n",buffer);
  }


  //int fd = open("log.txt", O_CREAT | O_WRONLY | O_TRUNC, 0666);

  //dup2(fd,1);

  //write(1, "hello 1\n", 8);

  //printf("hello,fd: %d\n", fd);
  //fprintf(stdout,"hello,fd:%d,\n", fd);
  //fputs("hello world\n", stdout);

  //const char* message = "hello fwrite\n";
  //fwrite(message, 1, strlen(message), stdout);


  //close(1);

  //int fd1 = open("log1.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
  //int fd2 = open("log2.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
  //int fd3 = open("log3.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
  //int fd4 = open("log4.txt",O_WRONLY | O_CREAT | O_APPEND,0666);

  //printf("fd1: %d\n",fd1);
  //printf("fd2: %d\n",fd2);
  //printf("fd3: %d\n",fd3);
  //printf("fd4: %d\n",fd4);

  //fflush(stdout);

  //close(fd1);
  //close(fd2);
  //close(fd3);
  //close(fd4);
  return 0;
}
